Mercator 投影

2021-09-19 12:00:00

作为一个轻度的地图控,我一直想探索地图投影这一块的知识。不知道大家有没有这样的疑问:高德地图、谷歌地图为什么都采用 Mercator 投影?

这种地图高纬度地区严重失真,格陵兰岛看起来比非州还要大,究竟有什么好处?

等距柱状投影

因为本文涉及的投影方式都是圆柱投影,所以在介绍 Mercator 投影之前,不妨先了解一下比较简单的等距柱状投影。

这种投影用一个底面直径、高均等于地球直径的圆柱面卡住地球,圆柱的轴线与地轴重合。从地轴上一点出发,沿与赤道平行的方向把地表上一点投影到圆柱面上,再把圆柱面展开,就得到了等距柱状投影的地图。投影形成的各矩形网格单元具有相同的长宽。我愿用一句话来形容这个过程:

所谓地图投影,无非就是把地表一点 映射到平面上的一点 ,不然 map 这个单词为什么会有映射的意思呢(我瞎猜的)?等距柱状投影的映射关系足够简单:

由于映射关系简单,所以在轨道力学中,经常用等距柱状投影绘制航天器的星下点轨迹,因为基本不需要经过复杂的转换。下面是几颗航天器的星下点轨迹:

Mercator 投影

首先需要交代 Mercator 投影的提出年代是 16 世纪,彼时大航海时代方兴未艾,世界需要一张准确清晰的航海图。对于远洋航行来说,最方便的地图是能够让航线在地图上是一条直线,这样只需用直线把起点与目的地连接起来,就得到了航线。

1569 年,Gerhardus Mercator 出版了他的世界地图,在这张地图上,平行的经线与平行的纬线垂直交错形成了经纬网,并且投影前后角度没有发生变化。这是一个开拓性的创造,Mercator 开创了地理学史新的篇章。

(Gerhardus Mercator 1512-1594)

和等距柱状投影一样,Mercator 投影也是圆柱投影,投影遵循等角约束(具体如何实现,先按下不表)

地图上经纬线垂直的意义不言而喻,需要说明一下投影前后角度不变的意义:

在 Mercator 的年代,航海导航全靠指南针,指南针会给出当地经线的方向,船的航行方向与经线夹成一定的角度。在 Mercator 的地图上,由于经线互相平行,我们任意画一条直线航线,会发现它与每条经线所夹的角度是相同的,那么根据角度不变,还原回地表,这条航线与球面的每条经线所夹的角度依然是相同的,这样我们让船的航行方向与指南针始终夹成这个角度,就可以实现沿着这条航线航行,到达目的地。这样的航线被称为等角航线。

在 Mercator 的地图上,用直线就可以轻松规划出一条等角航线,排除风浪等因素的干扰,只要利用指南针使得航行方向保持这个角度,就可以导航到目的地,非常便于测量和纠正,这就是 Mercator 的地图的先进性,直到今天仍然没有过时。

回到本文开头的问题,各大地图软件为什么偏爱 Mercator 投影,答案就是方向不变。垂直的十字路口在 Mercator 投影上依然是垂直的,笔直的道路在 Mercator 投影上依然是笔直的。用一张图来说明:

下面,我们将根据等角约束,分别考虑地球是球体和椭球体两种情况,推导出 Mercator 投影的投影公式。

球体

在平面投影图上,分别以 经线和 纬线为 轴和 轴建立直角坐标系。在地球表面取 构成的微元,对应的弧长微元为 。根据 Mercator 投影经纬线互相垂直的特点,这个微元的平面投影是矩形,矩形的宽和高分别记作

引入等角约束,即必须满足:

另外

所以

把上式代入到等角约束的表达式中,化简,得到

两边积分,得到

另外,根据所建直角坐标系的特点

又由于纬度 ,所以 里的绝对值可以去掉。最终的投影公式为:

还有一些变形形式:

Mercator 投影的逆变换:

时,,所以需要对 的范围进行限制。各大地图软件采用的是 Web Mercator 投影,即地图的宽度和高度相等。解算一下 Web Mercator 投影 的范围:令 等于地图的宽度的一半,即 ,解得

即 Web Mercator 投影表示的是 这一范围。

椭球体

设椭球的扁率为 ,赤道半径为 是地心经纬度,有

引入椭球条件下的等角约束:

所以

两边积分,得到

椭球条件下,Mercator 投影的投影公式为:

横轴 Mercator 投影

横轴 Mercator 投影是在 Mercator 投影的基础上,把投影圆柱倾斜 形成的,它依然继承等角约束,投影示意图如下:

和 Mercator 投影相反,它的特点是两级的变形最小,赤道的变形最大。

它的投影公式为:

具体推导过程暂且不表,后文的斜轴 Mercator 投影部分会进行推导。


看到横轴 Mercator 投影的地图,不由得让我想起初中地理课本上解释地球仪的一张插图,书上的插图我已经找不到了,这里大概复现了一下:

大概意思就是:像剥桔子皮一样,把地表沿着一些经线剥开,再展成平面图。它的逆过程就是制作地球仪的过程。上图中的每一个梭形区域都是用横轴 Mercator 投影计算出来的。

三种投影的对比

以上介绍了等距柱状投影、Mercator 投影、横轴 Mercator 投影,下面分别从投影前后角度的变化和面积的变化进行对比。

角度的变化

前面已经介绍了等角航线,这种航线在导航方面容易实现,但是它的航程如何呢?很可惜,等角航线的航程不是最短的,两点间最短的航线是大圆航线。

通过地面上任意两点和地心做一平面,平面与地球表面相交得到的圆周是大圆,两点之间的大圆劣弧线就是大圆航线。

但是大圆航线与各经线的夹角不是恒定的,沿大圆航线航行需要不断地调整方向。

在地球表面取 4 个地点,分别构造 3 条大圆航线(红色)和 3 条等角航线(紫色),如下图(这里不纠结航线经过陆地的问题,或者把它们理解为飞机的航线)

等距柱状投影

Mercator 投影

横轴 Mercator 投影

通过对比可以发现:

  1. 在 Mercator 投影里,等角航线的确是直线,而大圆航线不是。
  2. 在某些情况下,大圆航线和等角航线比较接近。此时完全可以沿着等角航线航行。在某些情况下,大圆航线和等角航线相差非常明显。

面积的变化

提示:以下内容可能引起密集恐惧症患者不适,请有选择地阅读!

在地球表面取若干等面积的圆形区域,如下图:

等距柱状投影

Mercator 投影

横轴 Mercator 投影

通过对比可以发现:

  1. 三种投影都改变了圆形区域的面积。
  2. Mercator 投影越靠近两级,面积被放大地越多;横轴 Mercator 投影越靠近赤道,面积被放大地越多。
  3. 对于 Mercator 投影和横轴 Mercator 投影,投影前后形状没发生变化,再次体现了角度不变性。

斜轴 Mercator 投影

在横轴 Mercator 投影中,把投影圆柱倾斜了 ,那么如果把圆柱倾斜一个任意的角度呢?示意图如下:

这样形成的投影图称为斜轴 Mercator 投影,先预览一下倾斜 时的投影图:

斜轴 Mercator 投影的投影公式为:

下面进行推导:


为平常意义下的北极, 为人为定义的北极。在正常经纬度意义下, 经线上, 与赤道形成的夹角称为倾斜角,记为 。在北极 的意义下,地表一点的经纬度为 ;在北极 的意义下, 点的经纬度为 。现在就是要寻找 的映射关系:

示意图如下:

定义 为球面角 的补角,。则

角度的几何关系罗列如下:

根据球面三角的公式,有:

根据这两个公式,可以导出

这样就得到了

在北极 的意义下, 有如下关系(就是 Mercator 投影):

整理前面得到的各转换关系,得到 的转换关系:

时,北极 与平常意义下的北极 重合,斜轴 Mercator 投影退化为 Mercator 投影。为了确保公式的统一性,需要在上式中用 替换 ,替换后

此时,把 代入其中,化简之后会发现就是 Mercator 投影的投影公式。令 就得到了横轴 Mercator 投影的投影公式(填坑了)。需要特别注意的是,因为执行了换元的操作,所以使用这个公式时中央经线会与预想中的 相差

得证。


斜轴 Mercator 投影的逆变换为


下面是本文最燃的一部分,让我们把倾斜角 的全过程用动图的形式呈现出来:

(正视图)

(后视图)

(俯视图)

(平面图)

按照惯例,此处应该附上代码,但是这个代码写的并不优雅,渲染上面 4 张动图足足用了 1 小时 57 分钟,所以就不公开出来了。

关于 Mercator 投影的思考

(我并不是 GIS 专业的,这里斗胆谈一点个人的看法属于是,大佬勿嘲)

疑问

搜索 Mercator 投影,会常到见一种看似很有道理的言论:

假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,就形成以一幅墨卡托投影的世界地图。

很多人在科普 Mercator 投影时都会引用上面这句话,甚至某百科都是这么说的。为此,他们还做了一张示意图:

乍一听感觉道出了 Mercator 投影的本质,我一开始也深信不疑。但细细一品,果真如此的话,投影公式 里的 是从哪里来的?再细细一品,更不对劲,这样的话 直接等于 了。简直让人哭笑不得。

从历史的角度来看,Mercator 投影是 1569 年提出的,此时微积分尚且没有发明,而且投影公式里的对数 是 17 世纪初才发表的。所以,先不谈不用微积分能否推导出投影公式,你不可能在没有发明对数的年代使用对数吧?

所以,需要分清楚 Mercator 投影Mercator 的投影。1569 年,Mercator 出版了他的世界地图,他的确可能是根据“地球中心放一盏灯”这种说法绘制的地图。我们看下面这张邮票也体现着这种思想:

这是 Mercator 的投影。但是,Mercator 投影是后人修正后的。这多少有点类似明史《明史》的关系。

探索

不妨尝试对比一下 之间的差距:

纬度高于 之后,二者的差距还是比较大的。


把上面的邮票放大:

发现发光点并不在圆心,而是偏移了一定的距离???不妨假设地球半径是 ,发光点相对圆心的偏移是 ,针对纬度是 的一点

根据正弦定理:

反解出 :(有请 Mathematica)

那么,此时

这就是修正后的投影公式。如果令 ,上式就退化成了

尝试计算一下它的逆变换:

有点过于复杂。

那么这个 究竟取多少才最合适呢?在 的区间内取几组数据,对比 的图像:

介于 之间时,修正的效果最好。说明把发光点进行一定程度的偏移是行得通的,而且竟然比圆心发光更加有效

下面研究不同的发光点偏移与等角投影点的距离偏差,即下式的图像:

可以看出,在低于 纬度的范围内,当 基本可以保证偏差在 以内。

结尾

强烈谴责Mathematica的中国地图不完整!!!

坚决抵制使用Mathematica绘制中国地图!!!

正确的中国地图如下:

Author

青崖同学

Release

2021-09-19 12:00:00

License

Creative Commons